#include <Arduino.h>


int digitalRead(uint32_t ulPin) {
    PinName pn = digitalPinToPinName(ulPin);
    GPIO_TypeDef *GPIOx = get_GPIO_Port(STM_PORT(pn));
    uint32_t PinMask = STM_LL_GPIO_PIN(pn);
    uint16_t GPIO_Pin = (PinMask >> GPIO_PIN_MASK_POS) & 0x0000FFFFU;    
    return HAL_GPIO_ReadPin(GPIOx, GPIO_Pin);
}
